部分型 <: 上位型
<:という記号について
型Aの部分型として、型Bがある時、B <: Aと書く
例
Cat <: Animal
<:という記号の直観的理解
型を集合と捉えた時に、その包含関係($ \sub)と見れば良い
例えば、以下の様な型があるとすると、
code:ts
type Cat = 'cat'
type Dog = 'dog'
type Animal = Cat | Dog
それぞれの型が取りうる値は
Animal := {'cat', 'dog'}
Cat := {'cat'}
Dog := {'dog'}
よって包含関係は、Cat <: Animalとなる